package com.andy.blog.framework.config;

import com.p6spy.engine.spy.appender.MessageFormattingStrategy;

/**
 * sql格式化日志
 * Created by andy on 2023-04-29 10:26
 */
public class P6spyLogFormatConfig implements MessageFormattingStrategy {

    /**
     * 日志格式化方式（打印SQL日志会进入此方法，耗时操作，生产环境不建议使用）
     *
     * @param connectionId: 连接ID
     * @param now:          当前时间
     * @param elapsed:      花费时间
     * @param category:     类别
     * @param prepared:     预编译SQL
     * @param sql:          最终执行的SQL
     * @param url:          数据库连接地址
     * @return 格式化日志结果
     **/
    @Override
    public String formatMessage(int connectionId, String now, long elapsed, String category, String prepared, String sql,
                                String url) {
        String newSql = sql.replace("   ", "").replace("\n", " ");
        return "SQL耗时:[" + elapsed + "ms]|执行时间:[" + now + "]|SQL:[" + newSql + "]";
    }
}
